home *** CD-ROM | disk | FTP | other *** search
/ Apple WWDC 1996 / WWDC96_1996 (CD).toast / Technology Materials / MacOS 8 Resources / Developer Tools / Mac OS 8 Interfaces & Libraries / Interfaces / AIncludes / PCIKernel.a < prev    next >
Encoding:
Text File  |  1996-05-01  |  6.0 KB  |  241 lines  |  [TEXT/MPS ]

  1. ;
  2. ;    File:        PCIKernel.a
  3. ;
  4. ;    Contains:    All definitions, prototypes, and constants for the PCI Family.
  5. ;
  6. ;    Version:    Technology:    xxx put the technology version here xxx
  7. ;                Release:    Universal Interfaces 3.0d3 on Copland DR1
  8. ;
  9. ;    Copyright:    © 1984-1996 by Apple Computer, Inc.  All rights reserved.
  10. ;
  11. ;    Bugs?:        If you find a problem with this file, send the file and version
  12. ;                information (from above) and the problem description to:
  13. ;
  14. ;                    Internet:    apple.bugs@applelink.apple.com
  15. ;                    AppleLink:    APPLE.BUGS
  16. ;
  17. ;
  18.     IF &TYPE('__PCIKERNEL__') = 'UNDEFINED' THEN
  19. __PCIKERNEL__ SET 1
  20.  
  21.     IF &TYPE('__TYPES__') = 'UNDEFINED' THEN
  22.     include 'Types.a'
  23.     ENDIF
  24.     IF &TYPE('__SYNCHRONIZATION__') = 'UNDEFINED' THEN
  25.     include 'Synchronization.a'
  26.     ENDIF
  27.     IF &TYPE('__NAMEREGISTRY__') = 'UNDEFINED' THEN
  28.     include 'NameRegistry.a'
  29.     ENDIF
  30.     IF &TYPE('__INTERRUPTS__') = 'UNDEFINED' THEN
  31.     include 'Interrupts.a'
  32.     ENDIF
  33.     IF &TYPE('__IOITERATOR__') = 'UNDEFINED' THEN
  34.     include 'IOIterator.a'
  35.     ENDIF
  36.     IF FOR_SYSTEM8_PREEMPTIVE THEN
  37. ; typedef LogicalAddress                 PCIConfigAddress
  38.  
  39. ; typedef LogicalAddress                 PCIIOAddress
  40.  
  41. ;
  42. ; extern OSStatus PCIConfigReadByte(RegEntryRef *entry, PCIConfigAddress configAddr, UInt8 *value)
  43. ;
  44.     IF GENERATINGCFM THEN
  45.         IMPORT_CFM_FUNCTION PCIConfigReadByte
  46.     ENDIF
  47.  
  48. ;
  49. ; extern OSStatus PCIConfigReadWord(RegEntryRef *entry, PCIConfigAddress configAddr, UInt16 *value)
  50. ;
  51.     IF GENERATINGCFM THEN
  52.         IMPORT_CFM_FUNCTION PCIConfigReadWord
  53.     ENDIF
  54.  
  55. ;
  56. ; extern OSStatus PCIConfigReadLong(RegEntryRef *entry, PCIConfigAddress configAddr, UInt32 *value)
  57. ;
  58.     IF GENERATINGCFM THEN
  59.         IMPORT_CFM_FUNCTION PCIConfigReadLong
  60.     ENDIF
  61.  
  62. ;
  63. ; extern OSStatus PCIConfigWriteByte(RegEntryRef *entry, PCIConfigAddress configAddr, UInt8 value)
  64. ;
  65.     IF GENERATINGCFM THEN
  66.         IMPORT_CFM_FUNCTION PCIConfigWriteByte
  67.     ENDIF
  68.  
  69. ;
  70. ; extern OSStatus PCIConfigWriteWord(RegEntryRef *entry, PCIConfigAddress configAddr, UInt16 value)
  71. ;
  72.     IF GENERATINGCFM THEN
  73.         IMPORT_CFM_FUNCTION PCIConfigWriteWord
  74.     ENDIF
  75.  
  76. ;
  77. ; extern OSStatus PCIConfigWriteLong(RegEntryRef *entry, PCIConfigAddress configAddr, UInt32 value)
  78. ;
  79.     IF GENERATINGCFM THEN
  80.         IMPORT_CFM_FUNCTION PCIConfigWriteLong
  81.     ENDIF
  82.  
  83. ;
  84. ; extern OSStatus PCIIOReadByte(RegEntryRef *entry, PCIIOAddress ioAddr, UInt8 *value)
  85. ;
  86.     IF GENERATINGCFM THEN
  87.         IMPORT_CFM_FUNCTION PCIIOReadByte
  88.     ENDIF
  89.  
  90. ;
  91. ; extern OSStatus PCIIOReadWord(RegEntryRef *entry, PCIIOAddress ioAddr, UInt16 *value)
  92. ;
  93.     IF GENERATINGCFM THEN
  94.         IMPORT_CFM_FUNCTION PCIIOReadWord
  95.     ENDIF
  96.  
  97. ;
  98. ; extern OSStatus PCIIOReadLong(RegEntryRef *entry, PCIIOAddress ioAddr, UInt32 *value)
  99. ;
  100.     IF GENERATINGCFM THEN
  101.         IMPORT_CFM_FUNCTION PCIIOReadLong
  102.     ENDIF
  103.  
  104. ;
  105. ; extern OSStatus PCIIOWriteByte(RegEntryRef *entry, PCIIOAddress ioAddr, UInt8 value)
  106. ;
  107.     IF GENERATINGCFM THEN
  108.         IMPORT_CFM_FUNCTION PCIIOWriteByte
  109.     ENDIF
  110.  
  111. ;
  112. ; extern OSStatus PCIIOWriteWord(RegEntryRef *entry, PCIIOAddress ioAddr, UInt16 value)
  113. ;
  114.     IF GENERATINGCFM THEN
  115.         IMPORT_CFM_FUNCTION PCIIOWriteWord
  116.     ENDIF
  117.  
  118. ;
  119. ; extern OSStatus PCIIOWriteLong(RegEntryRef *entry, PCIIOAddress ioAddr, UInt32 value)
  120. ;
  121.     IF GENERATINGCFM THEN
  122.         IMPORT_CFM_FUNCTION PCIIOWriteLong
  123.     ENDIF
  124.  
  125. ;
  126. ; extern OSStatus PCIIntAckReadByte(RegEntryRef *entry, UInt8 *value)
  127. ;
  128.     IF GENERATINGCFM THEN
  129.         IMPORT_CFM_FUNCTION PCIIntAckReadByte
  130.     ENDIF
  131.  
  132. ;
  133. ; extern OSStatus PCIIntAckReadWord(RegEntryRef *entry, UInt16 *value)
  134. ;
  135.     IF GENERATINGCFM THEN
  136.         IMPORT_CFM_FUNCTION PCIIntAckReadWord
  137.     ENDIF
  138.  
  139. ;
  140. ; extern OSStatus PCIIntAckReadLong(RegEntryRef *entry, UInt32 *value)
  141. ;
  142.     IF GENERATINGCFM THEN
  143.         IMPORT_CFM_FUNCTION PCIIntAckReadLong
  144.     ENDIF
  145.  
  146. ;
  147. ; extern OSStatus PCISpecialCycleWriteLong(RegEntryRef *entry, UInt32 value)
  148. ;
  149.     IF GENERATINGCFM THEN
  150.         IMPORT_CFM_FUNCTION PCISpecialCycleWriteLong
  151.     ENDIF
  152.  
  153. ;
  154. ; extern OSStatus PCISpecialCycleBroadcastLong(UInt32 value)
  155. ;
  156.     IF GENERATINGCFM THEN
  157.         IMPORT_CFM_FUNCTION PCISpecialCycleBroadcastLong
  158.     ENDIF
  159.  
  160. ;  IOIteration model definitions for the PCI Family
  161. PCIIOIteratorData        RECORD 0
  162. IOCI                     ds        IOCommonInfo    ; offset: $0 (0)
  163. Name                     ds.b    32                ; offset: $14 (20)
  164. Domain                     ds.l    1                ; offset: $34 (52)
  165. BusNumber                 ds.l    1                ; offset: $38 (56)
  166. ConfigAddress             ds.l    1                ; offset: $3C (60)
  167. sizeof                     EQU *                    ; size:   $40 (64)
  168.                         ENDR
  169. ;  get all pci device found
  170. ;
  171. ; extern OSStatus PCIGetDeviceData(ItemCount requestItemCount, ItemCount *totalItemCountPtr, PCIIOIteratorData *List)
  172. ;
  173.     IF GENERATINGCFM THEN
  174.         IMPORT_CFM_FUNCTION PCIGetDeviceData
  175.     ENDIF
  176.  
  177. ;  get all pci device by a certain name
  178. ;
  179. ; extern OSStatus PCINameGetDeviceData(char *Name, ItemCount reqeustItemCount, ItemCount *totalItemCountPtr, PCIIOIteratorData *List)
  180. ;
  181.     IF GENERATINGCFM THEN
  182.         IMPORT_CFM_FUNCTION PCINameGetDeviceData
  183.     ENDIF
  184.  
  185. ;  get all pci device belonging to a certain domain
  186. ;
  187. ; extern OSStatus PCIDomainGetDeviceData(UInt32 Domain, ItemCount reqeustItemCount, ItemCount *totalItemCountPtr, PCIIOIteratorData *List)
  188. ;
  189.     IF GENERATINGCFM THEN
  190.         IMPORT_CFM_FUNCTION PCIDomainGetDeviceData
  191.     ENDIF
  192.  
  193. ;  get all pci devices belonging to a certain bus
  194. ;
  195. ; extern OSStatus PCIBusNumberGetDeviceData(UInt32 BusNumber, ItemCount reqeustItemCount, ItemCount *totalItemCountPtr, PCIIOIteratorData *List)
  196. ;
  197.     IF GENERATINGCFM THEN
  198.         IMPORT_CFM_FUNCTION PCIBusNumberGetDeviceData
  199.     ENDIF
  200.  
  201. ;  get a pci devices by its config address
  202. ;
  203. ; extern OSStatus PCIConfigAddressGetDeviceData(PCIConfigAddress ConfigAddress, ItemCount reqeustItemCount, ItemCount *totalItemCountPtr, PCIIOIteratorData *List)
  204. ;
  205.     IF GENERATINGCFM THEN
  206.         IMPORT_CFM_FUNCTION PCIConfigAddressGetDeviceData
  207.     ENDIF
  208.  
  209. ;  bridge interrupt handler call
  210. ;
  211. ; extern OSStatus PCILookupParentMember(InterruptSetID theSet, InterruptSetMember *theParentSetMember)
  212. ;
  213.     IF ¬ GENERATINGCFM THEN
  214.         Macro
  215.         _PCILookupParentMember
  216.             moveq               #11,D0
  217.             dc.w                $AAF4
  218.         EndM
  219.     ELSE
  220.         IMPORT_CFM_FUNCTION PCILookupParentMember
  221.     ENDIF
  222.  
  223. ;  plugin access to interrupt disable calls
  224. ;
  225. ; extern InterruptState PCIDisableInterrupts(void )
  226. ;
  227.     IF GENERATINGCFM THEN
  228.         IMPORT_CFM_FUNCTION PCIDisableInterrupts
  229.     ENDIF
  230.  
  231. ;
  232. ; extern void PCIRestoreInterrupts(InterruptState theState)
  233. ;
  234.     IF GENERATINGCFM THEN
  235.         IMPORT_CFM_FUNCTION PCIRestoreInterrupts
  236.     ENDIF
  237.  
  238.     ENDIF
  239.     ENDIF ; __PCIKERNEL__ 
  240.  
  241.